package com.mlh.array;

//给你一个正整数 n ，生成一个包含 1 到 n^2 所有元素，
//且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
//输入：n = 3
//输出：
// [1,2,3]
// [8,9,4]
// [7,6,5]


public class GenerateMatrix {
	public static void main(String[] args) {
		method1(3);
	}


	public static int[][] method1(int n) {
		int[][]res=new int[n][n];
		int l=0,r=n-1,u=0,d=n-1;
		int num=1;
		while (num<n*n){
			for(int i=l;i<r;i++){
				res[u][i]=num;
				num++;
			}
			for(int i=u;i<d;i++){
				res[i][r]=num;
				num++;
			}
			for(int i=r;i>l;i--){
				res[d][i]=num;
				num++;
			}
			for(int i=d;i>u;i--){
				res[i][l]=num;
				num++;
			}
			l++;
			u++;
			r--;
			d--;
		}
		if(n%2==1){
			res[n/2][n/2]=n*n;
		}
		return res;
	}
}
